--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 2626e4634d1c2e361e0a326981684f7477baa59a
Parents : 4c8d17f
Author : Mark Qvist <bc7291552be7a58f361522990465165c>
Signature : T66BB85Valid, signed by author
Date : 2026-07-19T20:15:22+02:00
Fixed jittery map markers
Changes
2 files changed, 4 insertions(+), 4 deletions(-)
Diff
diff --git a/sbapp/mapview/clustered_marker_layer.py b/sbapp/mapview/clustered_marker_layer.py
index c8098ce3..164a5b37 100644
--- a/sbapp/mapview/clustered_marker_layer.py
+++ b/sbapp/mapview/clustered_marker_layer.py
@@ -611,5 +611,5 @@ class ClusteredMarkerLayer(MapLayer):
offset = getattr(marker, '_scatter_offset', (0.0, 0.0))
x += offset[0]
y += offset[1]
- marker.x = int(x - marker.width * marker.anchor_x)
- marker.y = int(y - marker.height * marker.anchor_y)
+ marker.x = x - marker.width * marker.anchor_x
+ marker.y = y - marker.height * marker.anchor_y
diff --git a/sbapp/mapview/view.py b/sbapp/mapview/view.py
index 0ce6d78d..21c9a35c 100644
--- a/sbapp/mapview/view.py
+++ b/sbapp/mapview/view.py
@@ -379,7 +379,7 @@ class MapView(Widget):
def get_window_xy_from(self, lat, lon, zoom):
"""Returns the x/y position in the widget absolute coordinates
from a lat/lon"""
- scale = self.scale
+ scale = self._scatter.scale
vx, vy = self.viewport_pos
ms = self.map_source
x = ms.get_x(zoom, lon) - vx
@@ -627,7 +627,7 @@ class MapView(Widget):
"""
if zoom is None: zoom = self._zoom
vx, vy = self.viewport_pos
- scale = self._scale
+ scale = self._scatter.scale
return Coordinate(lat=self.map_source.get_lat(zoom, y / scale + vy), lon=self.map_source.get_lon(zoom, x / scale + vx))
def add_marker(self, marker, layer=None):
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────